shell sleep 睡眠命令 您所在的位置:网站首页 shell sleep 命令 shell sleep 睡眠命令

shell sleep 睡眠命令

2023-09-06 09:33| 来源: 网络整理| 查看: 265

shell sleep 睡眠

shell sleep 睡眠命令_后台运行

文章目录​​shell sleep 睡眠​​​​1. 背景​​​​2. 简介​​​​3. 语法​​​​4. 实例​​​​4.1 设置警报​​​​4.2 终端中的延迟命令​​​​4.3 将变量分配给 sleep 命令​​​​4.4 定义检查间隔​​​​4.5 为操作完成留出时间​​​​4.6 预测延迟​​​​5 总结​​1. 背景

当用户在 Linux 中发出多个命令序列时,命令会立即一个接一个或同时执行(例如,tee 命令)。但是,有时需要推迟命令的执行并为系统提供足够的时间来产生预期的结果。

2. 简介

sleep命令将下一个命令的调用进程挂起一段指定的时间。当以下命令的执行取决于前一个命令的成功完成时,此属性很有用。

3. 语法sleep [number]

shell sleep 睡眠命令_后台运行_02

在上面的示例中, aftersleep 5执行后,第二个命令提示符出现了 5 秒的延迟。

默认情况下,系统读取之后sleep的数字作为秒数。要指定其他时间单位,请使用以下语法:

sleep [number][unit]

shell sleep 睡眠命令_运维_03

该sleep命令接受浮点数。它允许多个值相加,以计算sleep.

可用单位有:

s– 秒m- 分钟h- 小时d- 天

要sleep在开始后和指定的等待时间结束前停止,请按Ctrl + C。

要查看该sleep命令的帮助,请键入:

sleep

有关版本详细信息,请键入:

sleep4. 实例4.1 设置警报

用于sleep告诉系统在一定时间后播放 mp3 文件。该示例使用 mplayer:

sleep 7h 30m &&4.2 终端中的延迟命令

sleep对于强制执行两个命令之间的时间很有用。以下示例使echo命令以一秒的间隔执行:

sleep 1 && echo "one" && sleep 1 && echo "two"

shell sleep 睡眠命令_linux_04

4.3 将变量分配给 sleep 命令

可以将变量分配给sleep命令。考虑以下 shell 脚本:

#!/bin/bashSLEEP_INTERVAL="30"CURRENT_TIME=$(date +"%T")echo "Time before sleep: ${CURRENT_TIME}"echo "Sleeping for ${SLEEP_INTERVAL}sleep ${SLEEP_INTERVAL}CURRENT_TIME=$(date +"%T")echo "Time after sleep: ${CURRENT_TIME}"

该脚本定义了一个名为的变量​​SLEEP_INTERVAL​​ ,其值稍后用作sleep命令的参数。此示例脚本的输出显示执行持续了 30 秒:

shell sleep 睡眠命令_运维_05

4.4 定义检查间隔

以下示例说明了sleep在检查网站是否在线的脚本中使用该命令。如果成功 ping 一个网站,脚本就会停止,并sleep在不成功的 ping 之间引入 10 秒的延迟。

#!/bin/bashwhile : do if ping -c 1 www.google.com &> /dev/null then echo "Google is online" break fi sleep 10done

shell sleep 睡眠命令_bash_06

4.5 为操作完成留出时间

您可能正在运行一个 bash 脚本,该脚本在内部调用另外两个 bash 脚本——一个在后台运行测试,另一个打印结果。如果第二个脚本在第一个脚本完成之前执行,用于sleep防止第二个脚本打印错误的结果:

while kill -0 $BACK_PID ; do echo "Waiting for the process to end" sleep 1done

该​​kill -0 $BACK_PID​​命令检查第一个脚本的进程是否仍在运行。如果是,它会打印消息并休眠 1 秒钟,然后再次检查。

4.6 预测延迟

用于sleep允许某些命令执行的延迟。下面的脚本片段显示了如何sleep在下一次迭代之前给 CPU 足够的时间来执行计算。

for (( i = 1 ; i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有